Tegra210: remove support for cluster power down
authorVarun Wadekar <[email protected]>
Wed, 14 Feb 2018 19:06:05 +0000 (11:06 -0800)
committerVarun Wadekar <[email protected]>
Thu, 31 Jan 2019 16:48:24 +0000 (08:48 -0800)
This patch removes support for powering down a CPU cluster on
Tegra210 platforms as none of them actually use it.

Change-Id: I9665634cf2b5b7b8a1b5a2700cae152dc9165fe3
Signed-off-by: Varun Wadekar <[email protected]>
plat/nvidia/tegra/include/t210/tegra_def.h
plat/nvidia/tegra/soc/t210/plat_psci_handlers.c

index 7eb8a878df9f09eeffcebace61c944ecb849715f..c4ce7670c01fe123ad0527771503dd2b1bdebe57 100644 (file)
@@ -14,7 +14,6 @@
  ******************************************************************************/
 #define PSTATE_ID_CORE_POWERDN         U(7)
 #define PSTATE_ID_CLUSTER_IDLE         U(16)
-#define PSTATE_ID_CLUSTER_POWERDN      U(17)
 #define PSTATE_ID_SOC_POWERDN          U(27)
 
 /*******************************************************************************
index 0aa36b4ef8fba5ffa461ddca65085aa3b9640754..bb3b8fec7bebc77cd240f8b49d0a9bfcff6820ad 100644 (file)
@@ -53,14 +53,12 @@ int32_t tegra_soc_validate_power_state(unsigned int power_state,
                break;
 
        case PSTATE_ID_CLUSTER_IDLE:
-       case PSTATE_ID_CLUSTER_POWERDN:
 
                /*
                 * Cluster idle request for afflvl 0
                 */
                req_state->pwr_domain_state[MPIDR_AFFLVL0] = PSTATE_ID_CORE_POWERDN;
                req_state->pwr_domain_state[MPIDR_AFFLVL1] = state_id;
-
                break;
 
        case PSTATE_ID_SOC_POWERDN:
@@ -161,33 +159,6 @@ plat_local_state_t tegra_soc_get_target_pwr_state(unsigned int lvl,
                        }
                }
 
-       } else if ((lvl == MPIDR_AFFLVL1) && (target == PSTATE_ID_CLUSTER_POWERDN)) {
-
-               /* initialize the bpmp interface */
-               ret = tegra_bpmp_init();
-               if (ret != 0U) {
-
-                       /* Cluster power down not allowed */
-                       target = PSCI_LOCAL_STATE_RUN;
-               } else {
-
-                       /* Cluster power-down */
-                       data[0] = (uint32_t)cpu;
-                       data[1] = TEGRA_PM_CC7;
-                       data[2] = TEGRA_PM_SC1;
-                       ret = tegra_bpmp_send_receive_atomic(MRQ_DO_IDLE,
-                                       (void *)&data, (int)sizeof(data),
-                                       (void *)&bpmp_reply,
-                                       (int)sizeof(bpmp_reply));
-
-                       /* check if cluster power down is allowed */
-                       if ((ret != 0L) || (bpmp_reply != BPMP_CCx_ALLOWED)) {
-
-                               /* Cluster power down not allowed */
-                               target = PSCI_LOCAL_STATE_RUN;
-                       }
-               }
-
        } else if (((lvl == MPIDR_AFFLVL2) || (lvl == MPIDR_AFFLVL1)) &&
            (target == PSTATE_ID_SOC_POWERDN)) {
 
@@ -246,13 +217,6 @@ int tegra_soc_pwr_domain_suspend(const psci_power_state_t *target_state)
                /* Prepare for cluster idle */
                tegra_fc_cluster_idle(mpidr);
 
-       } else if (stateid_afflvl1 == PSTATE_ID_CLUSTER_POWERDN) {
-
-               assert(stateid_afflvl0 == PSTATE_ID_CORE_POWERDN);
-
-               /* Prepare for cluster powerdn */
-               tegra_fc_cluster_powerdn(mpidr);
-
        } else if (stateid_afflvl0 == PSTATE_ID_CORE_POWERDN) {
 
                /* Prepare for cpu powerdn */